package com.zmn.oms.model.vo.work;

import com.zmn.oms.model.entity.factory.OrderFactory;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 类描述: 普通新单
 *
 * @author liuying
 * @date 2018/11/26 4:34 PM
 */
@Data
@ToString(callSuper = true)
public class ZsNormalUpdateOrderVO implements Serializable {

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 工单ID
     */
    private Long workId;

    /**
     * 省份id
     */
    private Integer provinceId;

    /**
     * 省份名称
     */
    private String provinceName;

    /**
     * 城市id
     */
    private Integer cityId;

    /**
     * 城市名称
     */
    private String cityName;

    /**
     * 区县ID
     */
    private Integer countyId;

    /**
     * 区县名称
     */
    private String countyName;

    /**
     * 街道ID
     */
    private Integer streetId;

    /**
     * 地址来源  1：地址库 2：百度 3:手动街道
     */
    private Integer streetSource;

    /**
     * 订单类型：1 新单、2 返修单
     */
    private Integer type;

    /**
     * 来源类型：1普通 2厂商 3大客户 4会员
     */
    private Integer sourceType;

    /**
     * 预约时间是否当天
     * 用于进入修改页面，自动修改预约时间
     */
    private Boolean todayDutyTime;

    /**
     * 预约时间
     */
    private Date dutyTime;

    /**
     * 预约状态
     */
    private Integer dutyStatus;

    /**
     * 预约失败code
     */
    private Integer dutyFailCode;

    /**
     * 下次联系时间
     */
    private Date nextContactTime;

    /**
     * 下单时间
     */
    private Date receiveTime;

    /**
     * 客户名称
     */
    private String userName;

    /**
     * 联系名称
     */
    private String contactName;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 性别：1 男; 2 女; 3 保密
     */
    private Integer gender;

    /**
     * 街道
     */
    private String street;

    /**
     * 客户地址具体门牌号
     */
    private String address;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 客户电话1
     */
    private String telephone;

    /**
     * 客户电话2
     */
    private String telephone2;

    /**
     * 客户电话3
     */
    private String telephone3;

    /**
     * 客户电话1
     */
    private String hideTelephone;

    /**
     * 客户电话2
     */
    private String hideTelephone2;

    /**
     * 客户电话3
     */
    private String hideTelephone3;

    /**
     * 服务分类id
     */
    private Integer servCategId;

    /**
     * 服务分类名称
     */
    private String servCategName;

    /**
     * 产品分类id
     */
    private Integer categId;

    /**
     * 产品分类名称
     */
    private String categName;

    /**
     * 产品id
     * isNullAble:0
     */
    private Integer productId;

    /**
     * 产品id
     * isNullAble:0
     */
    private Integer showProductId;

    /**
     * 前台产品标记
     * 前端产品2，后端产品 1
     */
    private Integer productShowType;

    /**
     * 订单客户备注
     */
    private String remark;

    /**
     * 产品列表
     */
    private List<ZsNormalUpdateOrderProductVO> orderProductList;

    /**
     * 渠道ID
     */
    private Integer channelId;

    /**
     * 源渠道ID
     */
    private Integer sourceChannelId;

    /**
     * 返修订单ID
     */
    private Long reworkId;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 服务公司名称
     */
    private String manageCompanyName;

    /**
     * 意向单(如果是)
     */
    private Integer orderPurposeId;

    /**
     * 厂商单
     */
    private OrderFactory orderFactory;

    /**
     * 订单业务类型：1保外业务（C），2保内业务（F），3工程业务（B）
     */
    private Integer bizType;

    /**
     * 服务平台
     */
    private Integer platWork;

    /**
     * 平台
     */
    private Integer plat;

    /**
     * 推荐人id
     */
    private Long recommenderId;

    /**
     * 是否测试单
     */
    private Integer test;

    /**
     * 行政子公司
     */
    private Integer gridCompanyId;

    /**
     * 当前操作人是否属于子公司
     */
    private Boolean branchCompany;

    /**
     * 渠道单号
     */
    private String outerId;

    /**
     * 请求ID
     * 访问当前页面生成的唯一标识
     */
    private String requestId;

    /**
     * 工程师id
     */
    //private Integer masterId;

    /**
     * 工程师姓名
     */
    //private String masterName;

    /**
     * 是否已领单
     */
    //private Boolean take;
    /**
     * 报价方式 {@see com.zmn.oms.common.constant.OrderAdvanceConsts}
     */
    private Integer quoteType;

    /**
     * 故障现象ID
     */
    private Integer phenId;

    /**
     * 服务项ID
     */
    private Integer itemId;

    /**
     * 产品后台二级分类
     */
    private Integer productCateg;

    /**
     * 产品后台二级分类
     */
    private Integer quotationProductId;
}
